package progress.exa29_1.noUi;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;

public class Server {

    public static void main(String[] args) {
             /*
          建立一个线程来进行端口监听
         */
        new Thread(()->{
            try{
                //创建服务器套接字，服务器端口号设为8000
                ServerSocket serverSocket=new ServerSocket(8000);
                System.out.println("服务器启动成功 日期："+new Date()+'\n');
                //服务器进入监听状态
                System.out.println("服务器进入监听状态");
                Socket socket = serverSocket.accept();
                System.out.println("监听到连接，即将进入下一步");
                //创建服务器接受和发送数据的流
                DataInputStream inputFromClient = new DataInputStream(socket.getInputStream());
                DataOutputStream outputToClient=new DataOutputStream(socket.getOutputStream());

                while(true){
                    //接受到的数据赋给radius
                    double radius=inputFromClient.readDouble();
                    double area=radius*radius*Math.PI;//计算面积
                    outputToClient.writeDouble(area);//将计算值发送出去
                    System.out.println("接收到客户端传来的半径：:"+radius+'\n');
                    System.out.println("面积是:"+area+'\n');
                }

            }catch(IOException ex){
                ex.printStackTrace();
            }
        }).start();
    }

}
